home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 August: Technology Seed / August 1998 ADC Seed CD.toast / Mac OS 8.5b2 / allegro-b2-pseudo-SDK / PInterfaces / MacTypes.p < prev    next >
Encoding:
Text File  |  1998-07-17  |  18.4 KB  |  616 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        MacTypes.p
  3.  
  4.      Contains:    Basic Macintosh data types.
  5.  
  6.      Version:    Technology:    Mac OS 8.1
  7.                  Release:    Allego Seed, Use with 3.1 Universal Interfaces
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT MacTypes;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __MACTYPES__}
  28. {$SETC __MACTYPES__ := 1}
  29.  
  30. {$I+}
  31. {$SETC MacTypesIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __CONDITIONALMACROS__}
  35. {$I ConditionalMacros.p}
  36. {$ENDC}
  37.  
  38.  
  39. {$PUSH}
  40. {$ALIGN MAC68K}
  41. {$LibExport+}
  42.  
  43.  
  44.  
  45. {*******************************************************************************
  46.  
  47.     Base integer types for all target OS's and CPU's
  48.     
  49.         UInt8             8-bit unsigned integer    
  50.         SInt8             8-bit signed integer
  51.         UInt16            16-bit unsigned integer    
  52.         SInt16            16-bit signed integer            
  53.         UInt32            32-bit unsigned integer    
  54.         SInt32            32-bit signed integer    
  55.         UInt64            64-bit unsigned integer    
  56.         SInt64            64-bit signed integer    
  57.  
  58. ********************************************************************************}
  59. TYPE
  60.     SInt8                                = -128..127;
  61.     SInt16                                = INTEGER;
  62.     SInt32                                = LONGINT;
  63. {$IFC NOT UNDEFINED MWERKS}
  64.     UInt8                                = 0..255;        { UNISIGNEDBYTE }
  65.     UInt16                                = UNSIGNEDWORD;
  66.     UInt32                                = UNSIGNEDLONG;
  67. {$ELSEC}
  68.     UInt8                                = 0..255;
  69.     UInt16                                = INTEGER;
  70.     UInt32                                = LONGINT;
  71. {$ENDC}
  72.  
  73. {$IFC TARGET_RT_BIG_ENDIAN }
  74.  
  75. TYPE
  76.     widePtr = ^wide;
  77.     wide = RECORD
  78.         hi:                        SInt32;
  79.         lo:                        UInt32;
  80.     END;
  81.  
  82.     UnsignedWidePtr = ^UnsignedWide;
  83.     UnsignedWide = RECORD
  84.         hi:                        UInt32;
  85.         lo:                        UInt32;
  86.     END;
  87.  
  88. {$ELSEC}
  89.  
  90. TYPE
  91.     wide = RECORD
  92.         lo:                        UInt32;
  93.         hi:                        SInt32;
  94.     END;
  95.  
  96.     widePtr = ^wide;
  97.     UnsignedWidePtr = ^UnsignedWide;
  98.     UnsignedWide = RECORD
  99.         lo:                        UInt32;
  100.         hi:                        UInt32;
  101.     END;
  102.  
  103. {$ENDC}  {TARGET_RT_BIG_ENDIAN}
  104.  
  105.     SInt64                                = wide;
  106.     SInt64Ptr                             = ^SInt64;
  107.     UInt64                                = UnsignedWide;
  108.     UInt64Ptr                             = ^UInt64;
  109. {*******************************************************************************
  110.  
  111.     Special types for pascal
  112.     
  113.         IntegerPtr            Pointer to a 16-bit integer
  114.         LongIntPtr            Pointer to a 16-bit integer
  115.         ByteParameter        UInt8 passed as an 8-bit parameter
  116.         
  117.     Note:     The conventions for Pascal on 68K require that a UInt8 when
  118.             passed as a parameter occupy 16-bits on the stack, whereas 
  119.             an SInt8 would only occupy 8-bits.  To make C and Pascal
  120.             compatable, in pascal all function parameters of type UInt8
  121.             or equivalent are changed to ByteParameter.
  122.  
  123. ********************************************************************************}
  124. {$IFC UNDEFINED qMacApp }
  125.     IntegerPtr                            = ^INTEGER;
  126.     LongIntPtr                            = ^LONGINT;
  127. {$ENDC}
  128.  
  129.     ByteParameter                         = SInt8;
  130.  
  131.  
  132. {*******************************************************************************
  133.  
  134.     Base fixed point types 
  135.     
  136.         Fixed            16-bit signed integer plus 16-bit fraction
  137.         UnsignedFixed    16-bit unsigned integer plus 16-bit fraction
  138.         Fract            2-bit signed integer plus 30-bit fraction
  139.         ShortFixed        8-bit signed integer plus 8-bit fraction
  140.         
  141. ********************************************************************************}
  142.     Fixed                                = LONGINT;
  143.     FixedPtr                            = ^Fixed;
  144.     Fract                                = LONGINT;
  145.     FractPtr                            = ^Fract;
  146.     UnsignedFixed                        = UInt32;
  147.     ShortFixed                            = INTEGER;
  148.  
  149.  
  150. {*******************************************************************************
  151.  
  152.     Base floating point types 
  153.     
  154.         Float32            32 bit IEEE float:  1 sign bit, 8 exponent bits, 23 fraction bits
  155.         Float64            64 bit IEEE float:  1 sign bit, 11 exponent bits, 52 fraction bits    
  156.         Float80            80 bit MacOS float: 1 sign bit, 15 exponent bits, 1 integer bit, 63 fraction bits
  157.         Float96            96 bit 68881 float: 1 sign bit, 15 exponent bits, 16 pad bits, 1 integer bit, 63 fraction bits
  158.         
  159.     Note: These are fixed size floating point types, useful when writing a floating
  160.           point value to disk.  If your compiler does not support a particular size 
  161.           float, a struct is used instead.
  162.           Use of of the NCEG types (e.g. double_t) or an ANSI C type (e.g. double) if
  163.           you want a floating point representation that is natural for any given
  164.           compiler, but might be a different size on different compilers.
  165.  
  166. ********************************************************************************}
  167.  
  168. TYPE
  169.     Float32    =    SINGLE;
  170.     Float64    =    DOUBLE;
  171. {$IFC TARGET_CPU_68K}
  172.     {$IFC TARGET_RT_MAC_68881 }
  173.         Float96    = EXTENDED;
  174.         Float80 = RECORD
  175.             exp:    SInt16;
  176.             man:    ARRAY [0..3] OF UInt16;
  177.         END;
  178.     {$ELSEC}
  179.         Float80    = EXTENDED;
  180.         Float96 = RECORD
  181.             exp:    SInt16;
  182.              filler:    INTEGER;
  183.             man:    ARRAY [0..3] OF UInt16;
  184.         END;
  185.     {$ENDC}
  186. {$ELSEC}
  187.     Float80 = RECORD
  188.         exp:    SInt16;
  189.         man:    ARRAY [0..3] OF UInt16;
  190.     END;
  191.     Float96 = RECORD
  192.         exp:    SInt16;
  193.          filler:    INTEGER;
  194.         man:    ARRAY [0..3] OF UInt16;
  195.     END;
  196. {$ENDC}
  197.  
  198.  
  199.  
  200. {*******************************************************************************
  201.  
  202.     MacOS Memory Manager types
  203.     
  204.         Ptr                Pointer to a non-relocatable block
  205.         Handle            Pointer to a master pointer to a relocatable block
  206.         Size            The number of bytes in a block (signed for historical reasons)
  207.         
  208. ********************************************************************************}
  209.     Ptr                                    = ^SInt8;
  210.     Handle                                = ^Ptr;
  211.     Size                                = LONGINT;
  212.  
  213. {*******************************************************************************
  214.  
  215.     Higher level basic types
  216.     
  217.         OSErr                    16-bit result error code
  218.         OSStatus                32-bit result error code
  219.         LogicalAddress            Address in the clients virtual address space
  220.         ConstLogicalAddress        Address in the clients virtual address space that will only be read
  221.         PhysicalAddress            Real address as used on the hardware bus
  222.         BytePtr                    Pointer to an array of bytes
  223.         ByteCount                The size of an array of bytes
  224.         ByteOffset                An offset into an array of bytes
  225.         ItemCount                32-bit iteration count
  226.         OptionBits                Standard 32-bit set of bit flags
  227.         PBVersion                ?
  228.         Duration                32-bit millisecond timer for drivers
  229.         AbsoluteTime            64-bit clock
  230.         ScriptCode                A particular set of written characters (e.g. Roman vs Cyrillic) and their encoding
  231.         LangCode                A particular language (e.g. English), as represented using a particular ScriptCode
  232.         RegionCode                Designates a language as used in a particular region (e.g. British vs American
  233.                                 English) together with other region-dependent characteristics (e.g. date format)
  234.         FourCharCode            A 32-bit value made by packing four 1 byte characters together
  235.         OSType                    A FourCharCode used in the OS and file system (e.g. creator)
  236.         ResType                    A FourCharCode used to tag resources (e.g. 'DLOG')
  237.         
  238. ********************************************************************************}
  239.     OSErr                                = SInt16;
  240.     OSStatus                            = SInt32;
  241.     LogicalAddress                        = Ptr;
  242.     ConstLogicalAddress                    = Ptr;
  243.     PhysicalAddress                        = Ptr;
  244.     BytePtr                                = ^UInt8;
  245.     ByteCount                            = UInt32;
  246.     ByteOffset                            = UInt32;
  247.     Duration                            = SInt32;
  248.     AbsoluteTime                        = UnsignedWide;
  249.     AbsoluteTimePtr                     = ^AbsoluteTime;
  250.     OptionBits                            = UInt32;
  251.     ItemCount                            = UInt32;
  252.     PBVersion                            = UInt32;
  253.     ScriptCode                            = SInt16;
  254.     LangCode                            = SInt16;
  255.     RegionCode                            = SInt16;
  256. {$IFC NOT UNDEFINED MWERKS }
  257.     {$IFC TARGET_CPU_68K }
  258.         {Use array version of FourCharCode for compatibility with old 68k apps.}
  259.         FourCharCode                     = PACKED ARRAY [1..4] OF CHAR;
  260.     {$ELSEC}
  261.         FourCharCode                     = UNSIGNEDLONG;
  262.     {$ENDC}
  263. {$ELSEC}
  264.     FourCharCode                         = PACKED ARRAY [1..4] OF CHAR;
  265. {$ENDC}
  266.     OSType                                = FourCharCode;
  267.     ResType                                = FourCharCode;
  268.     OSTypePtr                            = ^OSType;
  269.     ResTypePtr                            = ^ResType;
  270.  
  271. {*******************************************************************************
  272.  
  273.     Boolean types and values
  274.     
  275.         Boolean            A one byte value, holds "false" (0) or "true" (1)
  276.         false            The Boolean value of zero (0)
  277.         true            The Boolean value of one (1)
  278.         
  279. ********************************************************************************}
  280. { "Boolean", "true", and "false" are built into the Pascal language }
  281.  
  282.  
  283. {*******************************************************************************
  284.  
  285.     Function Pointer Types
  286.     
  287.         ProcPtr                    Generic pointer to a function
  288.         Register68kProcPtr        Pointer to a 68K function that expects parameters in registers
  289.         UniversalProcPtr        Pointer to classic 68K code or a RoutineDescriptor
  290.         
  291.         ProcHandle                Pointer to a ProcPtr
  292.         UniversalProcHandle        Pointer to a UniversalProcPtr
  293.         
  294. ********************************************************************************}
  295.     ProcPtr                             = Ptr;
  296.     Register68kProcPtr                     = ProcPtr;
  297. { UniversalProcPtr is ^RoutineDescriptor on a PowerPC machine }
  298.     UniversalProcPtr                    = ProcPtr;
  299.     ProcHandle                            = ^ProcPtr;
  300.     UniversalProcHandle                    = ^UniversalProcPtr;
  301.  
  302.  
  303. {*******************************************************************************
  304.  
  305.     Common Constants
  306.     
  307.         noErr                    OSErr: function performed properly - no error
  308.         kNilOptions                OptionBits: all flags false
  309.         kInvalidID                KernelID: NULL is for pointers as kInvalidID is for ID's
  310.         kVariableLengthArray    array bounds: variable length array
  311.  
  312.     Note: kVariableLengthArray is used in array bounds to specify a variable length array.
  313.           It is ususally used in variable length structs when the last field is an array
  314.           of any size.  Before ANSI C, we used zero as the bounds of variable length 
  315.           array, but zero length array are illegal in ANSI C.  Example usage:
  316.     
  317.         struct FooList 
  318.         (
  319.             short     listLength;
  320.             Foo        elements[kVariableLengthArray];
  321.         );
  322.         
  323. ********************************************************************************}
  324.  
  325. CONST
  326.     noErr                        = 0;
  327.  
  328.     kNilOptions                    = 0;
  329.  
  330.     kInvalidID                    = 0;
  331.  
  332.     kVariableLengthArray        = 1;
  333.  
  334.     kUnknownType                = $3F3F3F3F;                    {  '????' QuickTime 3.0: default unknown ResType or OSType  }
  335.  
  336.  
  337.  
  338. {*******************************************************************************
  339.  
  340.     String Types
  341.     
  342.         UniChar                    A single 16-bit Unicode character
  343.         UniCharCount            A count of Unicode characters in an array or buffer
  344.  
  345.         StrNNN                    Pascal string holding up to NNN bytes
  346.         StringPtr                Pointer to a pascal string
  347.         StringHandle            Pointer to a StringPtr
  348.         ConstStrNNNParam        For function parameters only - means string is const
  349.         
  350.         CStringPtr                Pointer to a C string       (same as:  char*)
  351.         ConstCStringPtr            Pointer to a const C string (same as:  const char*)
  352.         
  353.     Note: The length of a pascal string is stored in the first byte.
  354.           A pascal string does not have a termination byte and can be at most 255 bytes long.
  355.           The first character in a pascal string is offset one byte from the start of the string. 
  356.           
  357.           A C string is terminated with a byte of value zero.  
  358.           A C string has no length limitation.
  359.           The first character in a C string is the first byte of the string. 
  360.           
  361.         
  362. ********************************************************************************}
  363.  
  364. TYPE
  365.     UniChar                                = UInt16;
  366.     UniCharCount                        = UInt32;
  367.     Str255                                = STRING[255];
  368.     Str63                                = STRING[63];
  369.     Str32                                = STRING[32];
  370.     Str31                                = STRING[31];
  371.     Str27                                = STRING[27];
  372.     Str15                                = STRING[15];
  373. {
  374.     The type Str32 is used in many AppleTalk based data structures.
  375.     It holds up to 32 one byte chars.  The problem is that with the
  376.     length byte it is 33 bytes long.  This can cause weird alignment
  377.     problems in structures.  To fix this the type "Str32Field" has
  378.     been created.  It should only be used to hold 32 chars, but
  379.     it is 34 bytes long so that there are no alignment problems.
  380. }
  381.     Str32Field = Str32;
  382. {
  383.     QuickTime 3.0:
  384.     The type StrFileName is used to make MacOS structs work 
  385.     cross-platform.  For example FSSpec or SFReply previously
  386.     contained a Str63 field.  They now contain a StrFileName
  387.     field which is the same when targeting the MacOS but is
  388.     a 256 char buffer for Win32 and unix, allowing them to
  389.     contain long file names.
  390. }
  391. {$IFC TARGET_OS_MAC }
  392.     StrFileName                            = Str63;
  393. {$ELSEC}
  394.     StrFileName                            = Str255;
  395. {$ENDC}  {TARGET_OS_MAC}
  396.  
  397.     StringPtr                            = ^Str255;
  398.     StringHandle                        = ^StringPtr;
  399. { A C string is a zero terminated array of bytes.  There is no length byte.
  400.     a CStringPtr is a pointer to a C string (e.g. char* )
  401.     a ConstCStringPtr is a CStringPtr whose contents cannot be changed (e.g. const char* )
  402. }
  403.     CStringPtr                            = Ptr;
  404.     ConstCStringPtr                        = Ptr;
  405.     ConstStr255Param                    = Str255;
  406.     ConstStr63Param                        = Str63;
  407.     ConstStr32Param                        = Str32;
  408.     ConstStr31Param                        = Str31;
  409.     ConstStr27Param                        = Str27;
  410.     ConstStr15Param                        = Str15;
  411. {$IFC TARGET_OS_MAC }
  412.     ConstStrFileNameParam                = Str63;
  413. {$ELSEC}
  414.     ConstStrFileNameParam                = Str255;
  415. {$ENDC}  {TARGET_OS_MAC}
  416.  
  417. {*******************************************************************************
  418.  
  419.     Quickdraw Types
  420.     
  421.         Point                2D Quickdraw coordinate, range: -32K to +32K
  422.         Rect                Rectangluar Quickdraw area
  423.         Style                Quickdraw font rendering styles
  424.         StyleParameter        Style when used as a parameter (historical 68K convention)
  425.         StyleField            Style when used as a field (historical 68K convention)
  426.         CharParameter        Char when used as a parameter (historical 68K convention)
  427.         
  428.     Note:   The original Macintosh toolbox in 68K Pascal defined Style as a SET.  
  429.             Both Style and CHAR occupy 8-bits in packed records or 16-bits when 
  430.             used as fields in non-packed records or as parameters. 
  431.         
  432. ********************************************************************************}
  433.     PointPtr = ^Point;
  434.     Point = RECORD
  435.         CASE INTEGER OF
  436.         0: (
  437.             v:                    INTEGER;
  438.             h:                    INTEGER;
  439.            );
  440.         1: (
  441.             vh:                    ARRAY [0..1] OF INTEGER;
  442.             );
  443.     END;
  444.  
  445.     RectPtr = ^Rect;
  446.     Rect = RECORD
  447.         CASE INTEGER OF
  448.         0: (
  449.             top:                INTEGER;
  450.             left:                INTEGER;
  451.             bottom:                INTEGER;
  452.             right:                INTEGER;
  453.            );
  454.         1: (
  455.             topLeft:            Point;
  456.             botRight:            Point;
  457.            );
  458.     END;
  459.  
  460.     StyleItem = (bold,italic,underline,outline,shadow,condense,extend);
  461.     Style = SET OF StyleItem;
  462.  
  463.     StyleParameter = Style;
  464.  
  465.     StyleField = Style;
  466.     CharParameter = CHAR;
  467.  
  468.  
  469.  
  470.  
  471.  
  472. {*******************************************************************************
  473.  
  474.     MacOS versioning structures
  475.     
  476.         VersRec                    Contents of a 'vers' resource
  477.         VersRecPtr                Pointer to a VersRecPtr
  478.         VersRecHndl                Resource Handle containing a VersRec
  479.         NumVersion                Packed BCD version representation (e.g. "4.2.1a3" is 0x04214003)
  480.         UniversalProcPtr        Pointer to classic 68K code or a RoutineDescriptor
  481.         
  482.         ProcHandle                Pointer to a ProcPtr
  483.         UniversalProcHandle        Pointer to a UniversalProcPtr
  484.         
  485. ********************************************************************************}
  486. {$IFC TARGET_RT_BIG_ENDIAN }
  487.     NumVersionPtr = ^NumVersion;
  488.     NumVersion = PACKED RECORD
  489.                                                                         {  Numeric version part of 'vers' resource  }
  490.         majorRev:                UInt8;                                    { 1st part of version number in BCD }
  491.         minorAndBugRev:            UInt8;                                    { 2nd & 3rd part of version number share a byte }
  492.         stage:                    UInt8;                                    { stage code: dev, alpha, beta, final }
  493.         nonRelRev:                UInt8;                                    { revision level of non-released version }
  494.     END;
  495.  
  496. {$ELSEC}
  497.     NumVersion = PACKED RECORD
  498.                                                                         {  Numeric version part of 'vers' resource accessable in little endian format  }
  499.         nonRelRev:                UInt8;                                    { revision level of non-released version }
  500.         stage:                    UInt8;                                    { stage code: dev, alpha, beta, final }
  501.         minorAndBugRev:            UInt8;                                    { 2nd & 3rd part of version number share a byte }
  502.         majorRev:                UInt8;                                    { 1st part of version number in BCD }
  503.     END;
  504.  
  505. {$ENDC}  {TARGET_RT_BIG_ENDIAN}
  506.  
  507.  
  508. CONST
  509.                                                                 {  Version Release Stage Codes  }
  510.     developStage                = $20;
  511.     alphaStage                    = $40;
  512.     betaStage                    = $60;
  513.     finalStage                    = $80;
  514.  
  515.  
  516. TYPE
  517.     NumVersionVariantPtr = ^NumVersionVariant;
  518.     NumVersionVariant = RECORD
  519.         CASE INTEGER OF
  520.                                                                         {  NumVersionVariant is a wrapper so NumVersion can be accessed as a 32-bit value  }
  521.         0: (
  522.             parts:                NumVersion;
  523.             );
  524.         1: (
  525.             whole:                UInt32;
  526.             );
  527.     END;
  528.  
  529.     VersRecPtr = ^VersRec;
  530.     VersRec = RECORD
  531.                                                                         {  'vers' resource format  }
  532.         numericVersion:            NumVersion;                                { encoded version number }
  533.         countryCode:            INTEGER;                                { country code from intl utilities }
  534.         shortVersion:            Str255;                                    { version number string - worst case }
  535.         reserved:                Str255;                                    { longMessage string packed after shortVersion }
  536.     END;
  537.  
  538.     VersRecHndl                            = ^VersRecPtr;
  539. {********************************************************************************
  540.  
  541.     Old names for types
  542.         
  543. ********************************************************************************}
  544.     Byte                                = UInt8;
  545.     SignedByte                            = SInt8;
  546.     extended80                            = Float80;
  547.     extended80Ptr                         = ^extended80;
  548.     extended96                            = Float96;
  549.     extended96Ptr                         = ^extended96;
  550.     VHSelect                            = SInt8;
  551.  
  552. {********************************************************************************
  553.  
  554.     Debugger functions:
  555.     
  556.     Name            MacsBug            Macintosh Debugger                    Copland Debugger
  557.     ----------        -----------        -----------------------------        -------------------
  558.     Debugger        yes                InterfaceLib maps to DebugStr        yes
  559.     DebugStr        yes                yes                                    yes
  560.     Debugger68k        yes                InterfaceLib maps to DebugStr        obsolete?
  561.     DebugStr68k        yes                InterfaceLib maps to DebugStr        obsolete?
  562.     debugstr        yes                InterfaceLib maps to DebugStr        yes
  563.     SysBreak        no                InterfaceLib maps to SysError        obsolete?
  564.     SysBreakStr        no                InterfaceLib maps to SysError        obsolete?
  565.     SysBreakFunc    no                InterfaceLib maps to SysError        obsolete?
  566.     SysDebug        ?                ?                                    ?
  567.     SysDebugStr        ?                ?                                    ?
  568.     LLDebugger        no                yes                                    Low Level Nub
  569.     LLDebugStr        no                yes                                    Low Level Nub
  570.     
  571. ********************************************************************************}
  572.  
  573. PROCEDURE Debugger;
  574.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  575.     INLINE $A9FF;
  576.     {$ENDC}
  577. PROCEDURE DebugStr(debuggerMsg: Str255);
  578.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  579.     INLINE $ABFF;
  580.     {$ENDC}
  581. {$IFC TARGET_OS_MAC }
  582. { Low level Copland debugger }
  583. PROCEDURE LLDebugger;
  584. PROCEDURE LLDebugStr(debuggerMsg: Str255);
  585. {$IFC TARGET_CPU_PPC }
  586. { Only for System 7 native drivers }
  587. PROCEDURE SysDebug; C;
  588. PROCEDURE SysDebugStr(str: Str255); C;
  589. {$ENDC}
  590. { SADE break points }
  591. PROCEDURE SysBreak;
  592.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  593.     INLINE $303C, $FE16, $A9C9;
  594.     {$ENDC}
  595. PROCEDURE SysBreakStr(debuggerMsg: Str255);
  596.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  597.     INLINE $303C, $FE15, $A9C9;
  598.     {$ENDC}
  599. PROCEDURE SysBreakFunc(debuggerMsg: Str255);
  600.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  601.     INLINE $303C, $FE14, $A9C9;
  602.     {$ENDC}
  603. {$ENDC}  {TARGET_OS_MAC}
  604.  
  605.  
  606. {$ALIGN RESET}
  607. {$POP}
  608.  
  609. {$SETC UsingIncludes := MacTypesIncludes}
  610.  
  611. {$ENDC} {__MACTYPES__}
  612.  
  613. {$IFC NOT UsingIncludes}
  614.  END.
  615. {$ENDC}
  616.